SQL Server EXISTS और NOT EXISTS in Hindi

SQL Server EXISTS और NOT EXISTS in Hindi (Syntax, Example, Interview Questions)

SQL Server में EXISTS और NOT EXISTS क्या हैं?

🧠 Definition (Memory के लिए)

SQL Server में EXISTS का उपयोग subquery में यह check करने के लिए किया जाता है कि कोई row exist करती है या नहीं। NOT EXISTS इसका उल्टा है, जो उन rows को select करता है जिनके लिए subquery कोई row return नहीं करती। यह complex filtering और NULL-safe checks के लिए बहुत useful है।

🧩 Syntax

-- EXISTS
SELECT column_name(s)
FROM table_name t
WHERE EXISTS (
    SELECT 1
    FROM another_table a
    WHERE a.column = t.column
);

-- NOT EXISTS
SELECT column_name(s)
FROM table_name t
WHERE NOT EXISTS (
    SELECT 1
    FROM another_table a
    WHERE a.column = t.column
);

🧪 Example

CREATE TABLE Orders (
    OrderID INT PRIMARY KEY,
    CustomerID INT,
    Amount INT
);

CREATE TABLE Customers (
    CustomerID INT PRIMARY KEY,
    Name NVARCHAR(50)
);

INSERT INTO Customers VALUES (1,'Ram'), (2,'Shyam'), (3,'Geeta');
INSERT INTO Orders VALUES (101, 1, 500), (102, 2, 700);

-- EXISTS: Customers जिन्होंने order place किया है
SELECT Name
FROM Customers c
WHERE EXISTS (
    SELECT 1 FROM Orders o WHERE o.CustomerID = c.CustomerID
);

-- NOT EXISTS: Customers जिन्होंने order place नहीं किया
SELECT Name
FROM Customers c
WHERE NOT EXISTS (
    SELECT 1 FROM Orders o WHERE o.CustomerID = c.CustomerID
);

📤 Output

-- EXISTS Result
Name
-----
Ram
Shyam

-- NOT EXISTS Result
Name
-----
Geeta

💡 Explanation

  • EXISTS check करता है कि subquery में row exist करती है या नहीं। यदि row exist करती है, तो main query में वो row return होगी।
  • NOT EXISTS उन rows को select करता है जिनके लिए subquery कोई row return नहीं करती।
  • EXISTS और NOT EXISTS NULL-safe हैं, मतलब ये NULL values से प्रभावित नहीं होते।

🎯 Interview Questions & Answers

  1. Q: EXISTS और NOT EXISTS में अंतर क्या है?
    A: EXISTS उन rows को check करता है जिनके लिए subquery row return करती है। NOT EXISTS उन rows को check करता है जिनके लिए subquery row return नहीं करती।
  2. Q: NOT EXISTS का उपयोग क्यों बेहतर है NOT IN के मुकाबले?
    A: NOT IN NULL values में issue create कर सकता है, जबकि NOT EXISTS हमेशा reliable है।
  3. Q: EXISTS और JOIN में क्या अंतर है?
    A: EXISTS केवल existence check करता है, जबकि JOIN actual data join करके return करता है।

📘 Conclusion

EXISTS और NOT EXISTS SQL Server में powerful tools हैं जो subquery के आधार पर data filtering में मदद करते हैं। NULL-safe होने के कारण complex conditions में NOT IN से ज्यादा reliable होते हैं। हमेशा subquery की existence logic के हिसाब से EXISTS या NOT EXISTS का प्रयोग करें।

Post a Comment

0 Comments